文件管理器的java实现
1. 简介1.1. 项目需求运用面向对象程序设计思想,基于Java文件管理和I/O框架,实现基于图形界面的GUI文件管理器。
1.2. 实现功能实现文件夹创建、删除、进入。实现当前文件夹下的内容罗列。实现文件拷贝和文件夹拷贝(文件夹拷贝指深度拷贝,包括所有子目录和文件)。实现指定文件的加密和解密。实现指定文件和文件夹的压缩。实现压缩文件的解压。文件管理器具有图形界面。1.3. 开发平台开发语言:Java
开发平台:Intellij IDEA 2021.2.2
2. 项目设计2.1. MVC设计流程:MainFrame作为整个程序的主体,向用户展示GUI界面,同时接受用户的操作。通过响应事件调用FileManager中的文件操作方法,并从FileController中获取当前文件路径对GUI界面进行更新。FileManager作为文件操作的主要对象,通过调用各种方法对文件进行操作,例如文件创建、删除、加密、解密等。FileController中保存了文件管理器的当前节点信息以及各种设置信息,以提供MainFrame进行界面的更新。2.2. 程序架构设计2.2.1. 整体结构框架2.2.2. View结构MyTable中包含了自己定义JTree中的部分构件;MyTree中包含了自己定义的JTable中的部分构件;MainFrame则为主界面使得程序具有图形界面,主界面分成了几个Panel和一个Menubar。其中ChangePositionPan负责文件管理器上方文本区域,以及跳转到对应文件夹或打开文件功能;MyMenubar负责菜单栏的显示以及对应按钮的响应事件;ReturnPanel中包含了两个按钮负责返回上一级界面以及磁盘界面;TableScrollPanel通过JTable展示文件信息(名称、修改事件、类型、大小等);TreeScrollPanel通过JTree展示文件管理器的文件存储结构,并通过点击文件夹节点,使ManFrame界面跳转的对应的文件夹界面。对于Tree包,MyJTree负责显示目录树,MyJTreeNode负责构建目录树的结点并实现结点间的操作,而MyJTreeRender负责对目录树结点的图标渲染。
对于Table包, MyJtableModel负责对数据进行整理,MyJTableCellRender负责对文件图标的渲染
2.2.3. FileOperation结构这个包中的的程序主要负责对文件的操作,其中FileController中保存了文件管理器的当前节点信息以及各种设置信息,以提供MainFrame进行界面的更新;
FileManager作为文件操作的主要对象,集成所有的文件操作,例如文件夹创建、删除、文件拷贝和文件夹拷贝等;MainFrime通过调用FileManager中的方法间接调用其他几个类;FileIcon负责获取文件的图标;FileZip负责文件以及文件夹的压缩和解压缩;FileEncrypt通过IO流实现简单的文件加密操作;2.3. UML类图3. 项目展示3.1. 主界面展示3.2. 创建、删除、进入3.3. 隐藏文件3.4. 文件压缩